You Can’t Control what you Can’t Measure, OR Why it’s Close to Impossible to Guarantee Real-time Software Performance on a CPU with on-chip cache

نویسندگان

  • Nat Hillary
  • Ken Madsen
چکیده

1. Abstract Steady increases in CPU core speeds continue to extend the range of applications for computer-based solutions, resulting in the creation of ever more responsive systems. At these higher core speeds, on-chip cache architectures are used to prevent the CPU from stalling when accessing relatively slow off-chip memory. In normal operation, most fetch-execute cycles occur internally, guaranteeing the execution of the maximum instructions per second. However, this also serves to hide the state of executing code from the user. Given the fact that it is not possible to directly monitor the execution of code within such a CPU when it is running at full speed, is it possible to guarantee and control the performance of Real-Time software on these cache-based CPU architectures? This paper investigates this issue by first offering a definition of Real-Time software, together with a discussion on what must be done to prove that the system will meet its performance objectives in all circumstances. In addition, the range of software performance monitoring techniques that are currently available will be discussed, together with a summary of the pros and cons of each measurement technique. The conclusion of this paper is that it is close to impossible to make deterministic software performance measurements using traditional techniques on a CPU that heavily utilizes on-chip cache, so it is therefore almost impossible to guarantee the performance of Real-Time software based on these styles of microprocessor architectures unless new measurement techniques are utilized. Real-Time software is distinguished from any other application by the fact that performance criteria are included in the specifications. This means that for Real-Time software to be verified as being correct, it has to be proven that the software will always meet its performance objectives. With cache based microprocessor architectures, software performance measurements are extremely difficult to do without causing serious perturbations, affecting measurement accuracy. This holds true across all possible measurement techniques. Accurate, hardware only performance measurements are generally not possible on architectures utilizing on-chip cache. Software performance measurement techniques range from hardware assisted solutions, to software only ones. All techniques, however, rely on being able to get information about the current state of the executing code off-chip. Pure hardware or hardware assisted solutions such as Logic Analyzers (LAs), In Circuit Emulators (ICEs), or dedicated pure software performance monitoring devices cannot determine what code is executing in the cache-based CPU core by monitoring external microprocessor signals. It …

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Presenting a Hybrid Approach based on Two-stage Data Envelopment Analysis to Evaluating Organization Productivity

   Measuring the performance of a production system has been an important task in management for purposes of control, planning, etc. Lord Kelvin said :“When you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meager and unsatisfactory kind.” Hence, manag...

متن کامل

Future ATE for System on a Chip... Some Perspectives

Flexibility – Tester FOR the Chip: If you can’t measure it, you can’t improve it. And, the measurement challenges are getting harder and diverging between characterization/production, wafer/final, digital/mixed signal. Yet, the real world ATE solution must address this entire measurement envelope, on as few platforms as possible. ATE solutions must provide inter-platform correlation (e.g. diffe...

متن کامل

Mentoring: who needs it?

It’s paradoxical that the time in your academic career when you most need support and advice — as a new faculty member — is also the first time at which there’s no-one else formally responsible for your welfare. As a graduate student you had an advisor. As a postdoc you were surrounded by your peers and probably overseen by the lab head. But now you’re on your own and, as you encounter the maze...

متن کامل

Metrics for Multimedia Languages

Software engineering researchers have attempted to improve the software development process for over two decades. A primary thrust in this process lies in the arena of measurement. “You can’t control what you can’t measure” [5]. This research applies software metric techniques to the development of multimedia products. Problem areas such as education, instruction, training, and information syst...

متن کامل

To Be Explicit

S oftware is an odd medium in which to construct something. Because few physical forces make you design one way or another, many design decisions sadly resist any form of objective analysis. Where design counts is often not in how the software runs but in how easy it is to change. When how it runs is important, ease of change can be the biggest factor in ensuring good performance. This drive to...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002